﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ErepIrcBot
{
    class KomendaStatystyki : Komenda
    {
        public KomendaStatystyki(Plugin pl)
            : base(pl)
        {
            nazwa = "statystyki";
            opis = "Wyswietla statystyki dla zolnierzy pomiedzy dniem1 i dniem2. Jesli tylko jeden dzien podany wyswietla tylko dla niego.";
            parametry = "dzien1 [dzien2]";
            poziom = 3;
        }

        protected override bool czyWarunek(string tekst, string channel, int userLevel, string nick)
        {
            return tekst.StartsWith("!" + nazwa) && userLevel >= poziom;
        }

        protected override void wykonajInternal(string tekst, string channel, string nick, int userLevel)
        {
            char[] sep = { ' ' };
            string[] podzielone = tekst.Split(sep);
            int dzien1, dzien2;
            if ((podzielone.Length >= 2) && (int.TryParse(podzielone[1], out dzien1)))
            {
                if ((podzielone.Length >= 3) && (int.TryParse(podzielone[2], out dzien2)))
                {

                }
                else
                {
                    dzien2 = dzien1;
                }
                try
                {
                    plugin.Statystyki.dodajPrzedzial(dzien1, dzien2);
                    List<int> dni = new List<int>();
                    for (int i = Math.Min(dzien1, dzien2); i <= Math.Max(dzien1, dzien2); ++i)
                        dni.Add(i);
                    List<string> napisy = plugin.Statystyki.wypisz(dni);
                    foreach (string napis in napisy)
                        wyswietlGdzieTrzeba(napis, channel, nick, false);
                }
                catch
                {
                    wyswietlGdzieTrzeba("Co najmniej z dni nie istnieje", channel, nick, false);
                }
            }
               
        }
    }
}
